package com.reliable.service.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
/**
 * 邀请码对象 xss_invite
 *
 * @author ruoyi
 * @date 2025-07-09
 */
@Data
@ApiModel(value = "邀请码对象")
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ReliableInvite extends BaseEntitys {
private static final long serialVersionUID=1L;

    /**
     * 主键
     */
    @ApiModelProperty(value = "主键", position = 0)
    private Long id;

    /**
     * 邀请码
     */
    @ApiModelProperty(value = "邀请码", position = 1)
    private String inviteCode;

    /**
     * 使用账户
     */
    @ApiModelProperty(value = "使用账户", position = 6)
    private String account;

    /**
     * 使用时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "使用时间", position = 7)
    private Date useTime;

    /**
     * 用户id
     */
    @ApiModelProperty(value = "用户id", position = 8)
    private Long userId;


    /**
     * 到期时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "到期时间", position = 22)
    private Date expireTime;

    /**
     * 状态 1.有效 2.过期
     */
    @ApiModelProperty(value = "状态 1.有效 2.过期", position = 9)
    private Long status;

    /**
     * 使用状态 1.未使用 2.已使用
     */
    @ApiModelProperty(value = "使用状态 1.未使用 2.已使用", position = 10)
    private Long useStatus;

    /**
     * 业务ID
     */
    @TableField(exist = false)
    @ApiModelProperty(value = "业务ID", position = 11)
    private String businessId;

    /**
     * 限定省份
     */
    @ApiModelProperty(value = "限定省份", position = 12)
    private String province;

    /**
     * 限定城市
     */
    @ApiModelProperty(value = "限定城市", position = 13)
    private String city;

    /**
     * 限定区/县
     */
    @ApiModelProperty(value = "限定区/县", position = 14)
    private String district;

    /**
     * 绑定角色ID：1-管理员 2-警务人员 3-内部人员 4-普通用户
     */
    @ApiModelProperty(value = "绑定角色ID：1-管理员 2-警务人员 3-内部人员 4-普通用户", position = 15)
    private Integer roleId;

}